package model

import (
	"fmt"
	"log"
	"time"

	"github.com/gin-gonic/gin"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

var DB *gorm.DB

// 连接数据库
func Database(connstring string) {
	fmt.Println(connstring)
	db, err := gorm.Open("mysql", connstring)
	if err != nil {
		log.Panic("mysql数据库连接错误")
	}
	fmt.Println("数据库连接成功")
	db.LogMode(true)
	// go get github.com/gin-gonic/gin
	if gin.Mode() == "release" {
		db.LogMode(false) // 发行版不用输出日志
	}
	db.SingularTable(true)                       // 表明不加S
	db.DB().SetMaxIdleConns(20)                  // 设置连接池
	db.DB().SetMaxOpenConns(100)                 // 设置最大连接数
	db.DB().SetConnMaxLifetime(time.Second * 30) // 超时时间
	DB = db
	migration() // 数据库迁移
}
